package com.castle.fortress.admin.pay.dto;

import com.castle.fortress.admin.pay.enums.PayTypeEnum;
import lombok.Data;

/**
 * 支付时请求参数
 * @author castle
 */
@Data
public class PayRequest {

    /**
     * 支付方式.
     */
    private PayTypeEnum payType;

    /**
     * 订单号.
     */
    private String orderId;

    /**
     * 订单金额.单位元
     */
    private Double orderAmount;

    /**
     * 订单名字.
     */
    private String orderName;

    /**
     * 微信openid, 仅微信公众号/小程序支付时需要
     */
    private String openId;

    /**
     * 用户的客户端IP，支持IPv4和IPv6两种格式的IP地址
     */
    private String payerClientIp;

    /**
     * H5场景类型 示例值：iOS, Android, Wap
     */
    private String h5InfoType;

    /**
     * 附加内容，发起支付时传入
     */
    private String attach;

    /**
     * 支付后跳转（支付宝PC网站支付）
     * 优先级高于PayConfig.returnUrl
     */
    private String returnUrl;

    /**
     * 该交易在支付宝系统中
     */
    private String tradeNo;
    /**
     * 买家支付宝用户ID。
     * 2088开头的16位纯数字，小程序场景下获取用户ID请参考：用户授权;
     * 其它场景下获取用户ID请参考：网页授权获取用户信息;
     * 注：交易的买家与卖家不能相同。
     */
    private String buyerId;

    /**
     * 收款支付宝账号对应的支付宝唯一用户号。
     * 以2088开头的纯16位数字
     */
    private String sellerId;
    /**
     * 支付宝wap模式
     * 用户付款中途退出返回商户网站的地址
     */
    private String quitUrl;
    /**
     * 小程序支付 code
     */
    private String miniCode;
    /**
     * 场景编码
     */
    private String sceneCode;
}
